package com.jinxinol.basic.system.mapper;

import java.util.List;

import com.jinxinol.basic.system.domain.SysSeqsNo;
import com.jinxinol.core.common.IMapper;

public interface SysSeqsNoMapper extends IMapper<SysSeqsNo> {
	/**
	* @Title: selectCountByType 
	* @Description: 查询是否已经存在
	* @author LXD
	* @email 247428412@qq.com
	 */
	public Integer selectCountByType(SysSeqsNo sysSeqsNo) throws Exception;

	/** 插入一条新的SYS_SEQS_NO 记录 */
	public void insertS(SysSeqsNo sysSeqsNo) throws Exception;

	/** 通过查询虚表获得下一个序列号 */
	public Integer findNextSEQ() throws Exception;

	/** 查找所有的SYS_SEQS_NO 记录 */
	public List<SysSeqsNo> findAllSSN() throws Exception;
	
	/**  查找所有的SYS_SEQS_NO 记录 但不包括本条记录 */
	public List<SysSeqsNo> findAllSSNExcptThis(String order_type_no)throws Exception;

	/** 按用户搜索条件查询符合条件的 SYS_SEQS_NO 记录 */
	public List<SysSeqsNo> findBySomeReq(SysSeqsNo sysSeqsNo) throws Exception;
	
	/** 删除一条SYS_SEQS_NO 记录 */
	public void deleteS(String id) throws Exception;
	
	/** 修改一条SYS_SEQS_NO 记录 */
	public void updateS(SysSeqsNo sysSeqsNo) throws Exception;
	
	/** 通过id 找到对应的一条 SYS_SEQS_NO 记录 */
	public SysSeqsNo findByIdS(String id) throws Exception;
	
	/** 这是一个公共API方法 供其他地方使用该方法得到单据对象 */
	public SysSeqsNo findThisSysSeqsNo(String order_type_no) throws Exception;
	
	/** 
	 * <p>说明：按编码生成规则查询下一个编码</p>
	 * @param sysSeqsNo：order_type_no唯一标志码、order_type编号类型码、sec_code_flag是否启用公司代码N/Y、sec_code公司代码、year_month_flag是否启用年月N/Y
	 * @return
	 * @throws Exception
	 * @return Map<String,Object>：msg_code正常返回0，异常返回其它任何代码值、msg_info异常时的异常消息、bill_no成功返回单据号或者特殊编号。失败返回空值
	 * @author LXD
	 * @email 247428412@qq.com
	 */ 
	public void getBianHaoByType(SysSeqsNo sysSeqsNo)throws Exception; 
}